/**占用机房信息管理
 *
 * @author rxliuli
 */
class BaseHousesHoldInfo {
    /**
     * @param id
     * @param frameInfoId 引用机架信息主键
     * @param distributeTime 资源分配时间
     * @param bandWidth 网络带宽
     * @param virtualHostName 虚拟主机名称
     * @param virtualHostState 虚拟主机状态， 1：关闭，0：启用
     * @param virtualHostType 虚拟主机类型， 1：共享式    2:  专用式     3:  云虚拟
     * @param virtualHostAddress 虚拟主机网络地址
     * @param virtualHostManagement 虚拟主机管理地址
     * @param serviceId 引用服务信息主键
     * @param serviceContent 服务内容
     * @param setMode 接入方式， 0：专线，1：虚拟主机， 2：主机托管， 3：整机租用， 999：其他
     * @param businessType 业务类型， 1：IDC业务，2：ISP业务
     * @param regType 备案类型,  0：无， 1：经营性网站（ICP经营许可证号）， 2：非经营性网站（备案登记号）， 3：SP（备案登记号）， 4：BBS（BBS备案号）， 999：其他
     * @param regId 备案号或许可证号
     */
    constructor({
                    id,
                    frameInfoId,
                    distributeTime,
                    bandWidth,
                    virtualHostName,
                    virtualHostState,
                    virtualHostType,
                    virtualHostAddress,
                    virtualHostManagement,
                    serviceContent,
                    setMode,
                    businessType,
                    regType,
                    regId,
                    serviceId,
                    ...args
                } = {}) {
        this.id = id
        this.frameInfoId = frameInfoId
        this.distributeTime = distributeTime
        this.bandWidth = bandWidth
        this.virtualHostName = virtualHostName
        this.virtualHostState = virtualHostState
        this.virtualHostType = virtualHostType
        this.virtualHostAddress = virtualHostAddress
        this.virtualHostManagement = virtualHostManagement
        this.serviceContent = serviceContent
        this.setMode = setMode
        this.businessType = businessType
        this.regType = regType
        this.regId = regId
        this.serviceId = serviceId
        Object.assign(this, args)
    }
}
